Methods and systems for operating a group watching session

ABSTRACT

Systems and methods are described for operating a group watching session. Group communication is initiated for a group watching session displaying a media content item. A bandwidth available to at least one computing device participating in the group watching session is determined. A group communication mode for a segment of the media content item is determined. A communication parameter of the group communication and/or a buffering parameter for the media content item is set in response to determining the group communication mode for the segment of the media content item and the bandwidth available to each computing device participating in the group watching session.

BACKGROUND

The present disclosure relates to methods and systems for operating agroup watching session. Particularly, but not exclusively, the presentdisclosure relates to controlling the mode of group communication in agroup watching session based on available bandwidth and common interestsbetween the participants of the group watching session.

SUMMARY

Virtual group watching of a media content item has gained a lot ofpopularity in recent time. For example, where multiple users are notable to, or choose not to, physically meet, they may participate in agroup watching session of a media content item, in which the viewing ofthe media content item is synchronised between multiple user devices. Insuch a group watching session, if one user pauses content, it will pausefor everyone, and resume for everyone when so requested. In order toenhance the experience of the group watching session, the participantsmay wish to communicate with each other, e.g., whilst the media contentitem is paused, to discuss a particular aspect of the media content itemin which they are interested. While some users may wish to use textualcommunication, others may wish to have a more immersive experience andcommunicate using video chat. However, streaming a media content itemand maintaining a reliable video chat connection can consume a lot ofbandwidth, and in some cases, more bandwidth than is available to one ormore of the participants of the group watching session.

Systems and methods are provided herein for operating a group watchingsession, e.g., by controlling media content buffering and managingvideoconference sessions during a group watching session. Such systemsand methods may provide an improved experience for the user, e.g., byensuring that there is sufficient bandwidth available to providevideoconference functionality between multiple participants in the groupwatching session while displaying a media content item in a desiredmanner, e.g., in a desired format with a desired quality, during a groupwatching session.

According to some examples of the systems and methods provided herein,group communication, e.g., audio communication and/or videocommunication, is initiated for a group watching session displaying amedia content item. A bandwidth available to each user (or user device)participating in the group watching session is determined, e.g., tocheck whether there is sufficient bandwidth to support the display ofthe media content item and video communication. A group communicationmode for one or more segments of the media content item is determined.The group communication mode may be a mode that is requested, required,used, utilized and/or performed by one or more of the usersparticipating in the group watching session, and/or a mode in which oneor more media content items are presented or consumed, e.g., in a groupaudio/video communication. For example, control circuitry may determinethat video communication is required (e.g., desired by the users) for afirst subset of segments and audio communication is required (e.g.,desired by the users) for a second subset of segments. In response todetermining the group communication mode required for the one or moresegments of the media content item and the bandwidth available to eachuser participating in the group watching session, a communicationparameter of the group communication and/or a buffering parameter forthe media content item is set. For example, control circuitry may set,or change, a buffering parameter to initiate an advanced, e.g., future,playback buffer. Once the advanced playback buffer has been initiated,control circuitry may set, or change, a communication parameter toeffect a change in the mode of communication between the usersparticipating in the group watching session.

In some examples, the buffering parameter may be set to buffer a segmentof the media content item to free up an amount of network bandwidth. Thebuffered segment may be displayed to the users participating in thegroup watching session, e.g., instead of a streamed segment. Thecommunication parameter may be set to provide the required groupcommunication mode using at least the amount of network bandwidth, e.g.,that was freed up by switching to the buffered segment.

In some examples, determining the group communication mode required forone or more segments of the media content item comprises determining:one or more user preferences for a first user in the group watchingsession, e.g., by accessing a user profile, viewing history, and/orplayback inputs for the first user; accessing media content itemmetadata relating to content of the media content item; and determiningthe required group communication mode based on comparing the one or moreuser preferences of the first user to the media content item metadata,e.g., to determine in advance which segments of the media content itemthe first user will be interested in.

In some examples, determining the group communication mode required forone or more segments of the media content item further comprises:determining one or more user preferences for a second user in the groupwatching session, e.g., by accessing a user profile, viewing history,and/or playback inputs for the second user; and determining the requiredgroup communication mode based on comparing the one or more userpreferences of each of the first user and the second user to the mediacontent item metadata, e.g., to determine in advance which segments ofthe media content item the first user and the second user will beinterested in.

In some examples, determining the group communication mode required forone or more segments of the media content item further comprises:tagging a first subset of segments of the media content item asrequiring a group audio communication mode; and tagging a second subsetof segments of the media content item as requiring a group videocommunication mode.

In some examples, a bandwidth available to each user participating inthe group watching session is determined and/or monitored. Thecommunication parameter and/or the buffering parameter may be set orchanged when the bandwidth available to at least one of the usersparticipating in the group watching session falls below a predeterminedbandwidth threshold.

In some examples, setting the communication parameter compriseschanging: an audio parameter of the group communication for at least oneparticipant of the group watching session; a video parameter of thegroup communication for at least one participant of the group watchingsession; how many of the participants in the group watching session arejoined to the group communication; and/or a permitted type ofcommunication between at least two participants of the group watchingsession.

In some examples, the setting of the communication parameter and/or thebuffering parameter is timed relative to the display of the segment ofthe media content item for which the communication mode is required. Forexample, the buffering parameter may be set in advance of the display ofa segment requiring a certain mode of group communication, so that therequired mode of communication may be switched to before that segment isdisplayed.

In some examples, setting the buffering parameter comprises: pausing acurrent playback buffer in response to determining the groupcommunication mode required for the segment of the media content item;initiating an advanced playback buffer in response to determining thegroup communication mode required for the segment of the media contentitem; maintaining an active playback buffer; and/or adjusting an amountof data in a playback buffer for at least one participant of the groupwatching session.

In some examples, determination may be made as to whether a userparticipating in the group watching session is likely to pause playbackof the media content item during a future segment in the media contentitem, e.g., based on a conversation history of the group communication,and/or trending of a particular topic (such as a social media topic). Insome examples, an active playback buffer for the media content item maybe stopped when the data stored in the active playback buffer reachesthe end of the future segment in the media content item. In someexamples, the communication parameter may be set to provide group videocommunication in response to determining that the active playback bufferhas reached the end of the future segment in the media content item.

BRIEF DESCRIPTION OF THE DRAWINGS

The above and other objects and advantages of the disclosure will beapparent upon consideration of the following detailed description, takenin conjunction with the accompanying drawings, in which like referencecharacters refer to like parts throughout, and in which:

FIG. 1A illustrates an overview of a system for operating a groupwatching session, in accordance with some examples of the disclosure;

FIG. 1B illustrates another overview of the system for operating a groupwatching session, in accordance with some examples of the disclosure;

FIG. 2 is a block diagram showing components of an exemplary system foroperating a group watching session, in accordance with some examples ofthe disclosure;

FIG. 3 is a flowchart representing a process for operating a groupwatching session, in accordance with some examples of the disclosure;

FIG. 4 illustrates a diagrammatic representation of various segments ofa media content item, in accordance with some examples of thedisclosure;

FIG. 5A is a flowchart representing another process for operating agroup watching session, in accordance with some examples of thedisclosure;

FIG. 5B is a continuation of the flowchart shown in FIG. 5A; and

FIG. 6 is a flowchart representing a process for providing group videocommunication in a group watching session, in accordance with someexamples of the disclosure.

DETAILED DESCRIPTION

FIG. 1A illustrates an overview of a system 100 for operating a groupwatching session, in which the viewing of a media content item issynchronised for multiple users. In particular, the example shown inFIG. 1A illustrates three users viewing a first segment of a mediacontent item and participating in a first mode of group communication.FIG. 1B illustrates the system 100 of FIG. 1A, but with the three usersviewing a second segment of the media content item and participating ina second mode of group communication. To put the examples shown in FIGS.1A and 1B into context, there might be certain segments in the mediacontent item for which the users, e.g., all the users, share a commoninterest and are thus likely to want to participate in a videoconferencefor the purpose of discussing that segment of interest. As such, it isimportant to have a videoconference connection established in advance,or at least just in time for, the viewing of the segment of interest.Moreover, it is desirable that the establishment of a videoconferenceconnection is carried out automatically by system 100 without affectingthe viewing of the media content item in the group watching session. Forexample, when a videoconference connection is established and maintainedduring a segment of interest, the streaming quality of the segment ofinterest may have to be reduced owing to a bandwidth constraint. Thepresent disclosure, as discussed in detail below, provides improvedmethods for maintaining a desired quality of a streamed media contentitem while providing videoconference functionality, e.g., in a groupwatching session, such as a virtual watch party or a virtual meeting.

In the example shown in FIGS. 1A and 1B, system 100 includes multipleuser devices 102, such as a tablet computer, a smartphone, a smarttelevision, or the like, configured to display media content to one ormore respective users. System 100 may also include network 108 such asthe Internet, configured to communicatively couple user devices 102 toone or more servers 104 and/or one or more content databases 106 fromwhich media content, such as TV shows, movies and/or advertisementcontent, may be obtained for display on the user devices 102. Userdevices 102 and the one or more servers 104 may be communicativelycoupled to one another by way of network 108, and the one or moreservers 104 may be communicatively coupled to content database 106 byway of one or more communication paths, such as a proprietarycommunication path and/or network 108. In some examples, server 104 maybe a server of a service provider who provides media content for displayon user devices 102.

In some examples, system 100 may comprise an application that providesguidance through an interface, e.g., a graphical user interface, thatallows users to efficiently navigate media content selections, navigatean interactive media content item, and easily identify media contentthat they may desire, such as content provided on a database on one ormore live streams. Such guidance is referred to herein as an interactivecontent guidance application or, sometimes, a content guidanceapplication, a media guidance application, or a guidance application. Insome examples, the application may be configured to provide arecommendation for a content item, e.g., based on a user profile and/oran endorsement profile of the content item. For example, the applicationmay provide a user with a recommendation based for a content item basedon one or more endorsements present, e.g., visibly and/or audiblypresent, in the content item. In some examples, the application providesusers with access to a group watching session and/or group communicationfunctionality. For example, the application may provide a user with anoption to join a group watching session and participate in groupcommunication with one or more other users participating in the groupwatching session.

Interactive media guidance applications may take various forms,depending on the content for which they provide guidance. One typicaltype of media guidance application is an interactive television programguide. Interactive television program guides (sometimes referred to aselectronic program guides) are well-known guidance applications that,among other things, allow users to navigate among and locate many typesof content or media assets. Interactive media guidance applications maygenerate graphical user interface screens that enable a user to navigateamong, locate and select content. As referred to herein, the terms“media asset”, “content items” and “content” should each be understoodto mean an electronically consumable user asset, such as televisionprogramming, as well as pay-per-view programs, on-demand programs (as invideo-on-demand (VOD) systems), Internet content (e.g., streamingcontent, downloadable content, Webcasts, etc.), video clips, audio,content information, pictures, rotating images, documents, playlists,websites, articles, books, electronic books, blogs, chat sessions,social media, applications, games, and/or any other media or multimediaand/or combination of the same. Guidance applications also allow usersto navigate amid and locate content. As referred to herein, the term“multimedia” should be understood to mean content that utilizes at leasttwo different content forms described above, for example, text, audio,images, video, or interactivity content forms. Content may be recorded,played, displayed or accessed by user equipment devices, but can also bepart of a live performance.

The media guidance application and/or any instructions for performingany of the examples discussed herein may be encoded on computer-readablemedia. Computer-readable media includes any media capable of storingdata. The computer-readable media may be transitory, including, but notlimited to, propagating electrical or electromagnetic signals, or may benon-transitory, including, but not limited to, volatile and non-volatilecomputer memory or storage devices such as a hard disk, floppy disk, USBdrive, DVD, CD, media card, register memory, processor cache, randomaccess memory (RAM), etc.

With the ever-improving capabilities of the Internet, mobile computing,and high-speed wireless networks, users are accessing media on userequipment devices on which they traditionally did not. As referred toherein, the phrases “user equipment device,” “user equipment,” “userdevice,” “computing device,” “electronic device,” “electronicequipment,” “media equipment device,” or “media device” should beunderstood to mean any device for accessing the content described above,such as a television, a Smart TV, a set-top box, an integrated receiverdecoder (IRD) for handling satellite television, a digital storagedevice, a digital media receiver (DMR), a digital media adapter (DMA), astreaming media device, a DVD player, a DVD recorder, a connected DVD, alocal media server, a BLU-RAY player, a BLU-RAY recorder, a personalcomputer (PC), a laptop computer, a tablet computer, a WebTV box, apersonal computer television (PC/TV), a PC media server, a PC mediacenter, a hand-held computer, a stationary telephone, a personal digitalassistant (PDA), a mobile telephone, a portable video player, a portablemusic player, a portable gaming machine, a smartphone, or any othertelevision equipment, computing equipment, or wireless device, and/orcombination of the same. In some examples, the user equipment device mayhave a front-facing screen and a rear-facing screen, multiple frontscreens, or multiple angled screens. In some examples, the userequipment device may have a front-facing camera and/or a rear-facingcamera. On these user equipment devices, users may be able to navigateamong and locate the same content available through a television.Consequently, media guidance may be available on these devices, as well.The guidance provided may be for content available only through atelevision, for content available only through one or more of othertypes of user equipment devices, or for content available through both atelevision and one or more of the other types of user equipment devices.The media guidance applications may be provided as online applications(i.e., provided on a website), or as stand-alone applications or clientson user equipment devices. Various devices and platforms that mayimplement media guidance applications are described in more detailbelow.

One of the functions of the media guidance application is to providemedia guidance data to users. As referred to herein, the phrase “mediaguidance data” or “guidance data” should be understood to mean any datarelated to content or data used in operating the guidance application.For example, the guidance data may include program information, subtitledata, guidance application settings, user preferences, user profileinformation, media listings, media-related information (e.g., broadcasttimes, broadcast channels, titles, descriptions, ratings information(e.g., parental control ratings, critics’ ratings, etc.), genre orcategory information, actor information, logo data for broadcasters’ orproviders’ logos, etc.), media format (e.g., standard definition, highdefinition, 3D, etc.), on-demand information, blogs, websites, and anyother type of guidance data that is helpful for a user to navigate amongand locate desired content selections.

FIG. 2 is an illustrative block diagram showing exemplary system 200configured to display media content. Although FIG. 2 shows system 200 asincluding a number and configuration of individual components, in someexamples, any number of the components of system 200 may be combinedand/or integrated as one device, e.g., as user device 102. System 200includes computing device 202, server 204 (e.g., server 106 and/orserver 108), and content database 206, each of which is communicativelycoupled to communication network 208, which may be the Internet or anyother suitable network or group of networks. In some examples, system200 excludes server 204, and functionality that would otherwise beimplemented by server 204 is instead implemented by other components ofsystem 200, such as computing device 202. In still other examples,server 204 works in conjunction with computing device 202 to implementcertain functionality described herein in a distributed or cooperativemanner.

Server 204 includes control circuitry 210 and input/output (hereinafter“I/O”) path 212, and control circuitry 210 includes storage 214 andprocessing circuitry 216. Computing device 202, which may be a personalcomputer, a laptop computer, a tablet computer, a smartphone, a smarttelevision, a smart speaker, or any other type of computing device,includes control circuitry 218, I/O path 220, speaker 222, display 224,and user input interface 226, which in some examples provides a userselectable option for enabling and disabling the display of modifiedsubtitles. Control circuitry 218 includes storage 228 and processingcircuitry 220. Control circuitry 210 and/or 218 may be based on anysuitable processing circuitry such as processing circuitry 216 and/or220. As referred to herein, processing circuitry should be understood tomean circuitry based on one or more microprocessors, microcontrollers,digital signal processors, programmable logic devices,field-programmable gate arrays (FPGAs), application-specific integratedcircuits (ASICs), etc., and may include a multi-core processor (e.g.,dual-core, quad-core, hexa-core, or any suitable number of cores). Insome examples, processing circuitry may be distributed across multipleseparate processors, for example, multiple of the same type ofprocessors (e.g., two Intel Core i9 processors) or multiple differentprocessors (e.g., an Intel Core i7 processor and an Intel Core i9processor).

Each of storage 214, storage 228, and/or storages of other components ofsystem 200 (e.g., storages of content database 206, and/or the like) maybe an electronic storage device. As referred to herein, the phrase“electronic storage device” or “storage device” should be understood tomean any device for storing electronic data, computer software, orfirmware, such as random-access memory, read-only memory, hard drives,optical drives, digital video disc (DVD) recorders, compact disc (CD)recorders, BLU-RAY disc (BD) recorders, BLU-RAY 2D disc recorders,digital video recorders (DVRs, sometimes called personal videorecorders, or PVRs), solid state devices, quantum storage devices,gaming consoles, gaming media, or any other suitable fixed or removablestorage devices, and/or any combination of the same. Each of storage214, storage 228, and/or storages of other components of system 200 maybe used to store various types of content, metadata, and or other typesof data. Non-volatile memory may also be used (e.g., to launch a boot-uproutine and other instructions). Cloud-based storage may be used tosupplement storages 214, 228 or instead of storages 214, 228. In someexamples, control circuitry 210 and/or 218 executes instructions for anapplication stored in memory (e.g., storage 214 and/or 228).Specifically, control circuitry 214 and/or 228 may be instructed by theapplication to perform the functions discussed herein. In someimplementations, any action performed by control circuitry 214 and/or228 may be based on instructions received from the application. Forexample, the application may be implemented as software or a set ofexecutable instructions that may be stored in storage 214 and/or 228 andexecuted by control circuitry 214 and/or 228. In some examples, theapplication may be a client/server application where only a clientapplication resides on computing device 202, and a server applicationresides on server 204.

The application may be implemented using any suitable architecture. Forexample, it may be a stand-alone application wholly implemented oncomputing device 202. In such an approach, instructions for theapplication are stored locally (e.g., in storage 228), and data for useby the application is downloaded on a periodic basis (e.g., from anout-of-band feed, from an Internet resource, or using another suitableapproach). Control circuitry 218 may retrieve instructions for theapplication from storage 228 and process the instructions to perform thefunctionality described herein. Based on the processed instructions,control circuitry 218 may determine what action to perform when input isreceived from user input interface 226.

In client/server-based examples, control circuitry 218 may includecommunication circuitry suitable for communicating with an applicationserver (e.g., server 204) or other networks or servers. The instructionsfor carrying out the functionality described herein may be stored on theapplication server. Communication circuitry may include a cable modem,an Ethernet card, or a wireless modem for communication with otherequipment, or any other suitable communication circuitry. Suchcommunication may involve the Internet or any other suitablecommunication networks or paths (e.g., communication network 208). Inanother example of a client/server-based application, control circuitry218 runs a web browser that interprets web pages provided by a remoteserver (e.g., server 204). For example, the remote server may store theinstructions for the application in a storage device. The remote servermay process the stored instructions using circuitry (e.g., controlcircuitry 210) and/or generate displays. Computing device 202 mayreceive the displays generated by the remote server and may display thecontent of the displays locally via display 224. This way, theprocessing of the instructions is performed remotely (e.g., by server204) while the resulting displays, such as the display windows describedelsewhere herein, are provided locally on computing device 202.Computing device 202 may receive inputs from the user via inputinterface 226 and transmit those inputs to the remote server forprocessing and generating the corresponding displays.

A user may send instructions, e.g., to view an interactive media contentitem and/or select one or more programming options of the interactivemedia content item, to control circuitry 210 and/or 218 using user inputinterface 226. User input interface 226 may be any suitable userinterface, such as a remote control, trackball, keypad, keyboard,touchscreen, touchpad, stylus input, joystick, voice recognitioninterface, gaming controller, or other user input interfaces. User inputinterface 226 may be integrated with or combined with display 224, whichmay be a monitor, a television, a liquid crystal display (LCD), anelectronic ink display, or any other equipment suitable for displayingvisual images.

Server 204 and computing device 202 may transmit and receive content anddata via I/O path 212 and 220, respectively. For instance, I/O path 212and/or I/O path 220 may include a communication port(s) configured totransmit and/or receive (for instance to and/or from content database206), via communication network 208, content item identifiers, contentmetadata, natural language queries, and/or other data. Control circuitry210, 218 may be used to send and receive commands, requests, and othersuitable data using I/O paths 212, 220.

FIG. 3 is a flowchart representing an illustrative process 300 foroperating a group watching session, in accordance with some examples ofthe disclosure. While the example shown in FIG. 3 refers to the use ofsystem 100, as shown in FIGS. 1A and 1B, it will be appreciated that theillustrative process shown in FIG. 3 , and any of the other followingillustrative processes, may be implemented on system 100, either aloneor in combination with any other appropriately configured systemarchitecture, such as system 200 shown in FIG. 2 .

At step 302, control circuitry initiates a group communication session(hereinafter referred to as group communication) for a group watchingsession displaying a media content item. For example, control circuitrymay cause each user participating in the group watching session to join,e.g., automatically join, group communication having videoconference andteleconference functionality. For the purposes of present disclosure,the term video communication is used to describe videoconferencefunctionality, e.g., a communication function having video and audioelements, whereas the term audio communication is used to describeteleconference functionality, e.g., a communication function having onlyan audio element. In some examples, the group communication is initiatedin response to a user initiating a group watching session. For example,a first user may set up a group watching session and invite one or moreother users to join. When another user joins the group watching session,they may be also joined to the group communication. In the example shownin FIGS. 1A and 1B, the group watching session has three participants,User 1, User 2 and User 3, each watching a media content item onrespective user devices 102. The group communication is represented byuser icons 110 towards the left of a screen of each user device 102.However, in one or more examples (not shown) the group communication maybe provided on one or more other user devices separate from user device102. For example, each user may have the option/ability to display themedia content item of the group watching session on a first device,e.g., user device 102, and the group communication on another device,such as a smartphone or tablet.

At step 304, control circuitry determines a bandwidth available to eachuser or computing device participating in (e.g., connected to network108 used for) the group watching session. For example, control circuitrymay access data relating to bandwidth statistics for each user, todetermine the current bandwidth available to a user and/or historicbandwidth previously available. For example, control circuitry mayanalyse a user’s bandwidth data to determine one or more patterns ortrends in the bandwidth available to the user. Additionally oralternatively, control circuitry may determine one or more otherparameters relating to the display of the media content item on theuser’s device 102, such as the type of device (e.g., phone, tablet,laptop), device resolution capability (e.g., 4K, 1080p), network type(e.g., wi-fi, cellular), a connection speed to a content provider server(e.g., server 104), one or more settings in a user profile (e.g.,indicating a preferred display quality), and/or data relating tohistoric user viewing. As such, control circuitry is able to understandthe operational parameters that govern the ability of user device 102 todisplay the media content item in a desired state. For example, controlcircuitry may determine that User 1 has an average bandwidth of 10 Mbpsand prefers to watch a media content item on a tablet in the highestdefinition possible, User 2 has an average bandwidth of 60 Mbps and isindifferent about the quality of the media content item so long as itdoes not stall, and User 3 has an average bandwidth of 220 Mbps andprefers to watch a media content item only an 8K screen.

At step 304, control circuitry determines a group communication moderequired for a segment of the media content item. For example, controlcircuitry may determine that a first group communication mode comprisingvideo communication between all users participating in the groupwatching session is required for one segment of the media content item,and a second group communication mode comprising video communicationbetween some of the users participating in the group watching session isrequired for another segment of the media content item. In order to makethat determination, control circuitry may be configured to crossreference one or more preferences/interests of the user(s) with thecontent of the media content item. Where the interests/preferences ofone or more users participating in the group watching session match thecontent of a segment of the media content item, control circuitry maytag that segment as a segment of interest. The required communicationmode for any given segment of the media content item can then be chosenbased on a correlation between interests/preferences of each of theusers and the content of that segment of the media content item, e.g.,as described or defined by media content item metadata. In the exampleshown in FIG. 1A, a first communication mode is required providing videocommunication between User 1 and User 2, and audio communication betweenUser 3 and Users 1 and 2. In the example shown in FIG. 1B, a secondcommunication mode is required providing video communication betweenUser 1, User 2 and User 3. The implementation of step 304 is describedbelow in further detail in relation to step 510 of process 500.

At step 308, control circuitry sets a communication parameter of thegroup communication and/or a buffering parameter for the media contentitem. For example, in response to determining that a certain groupcommunication mode is required for a segment of the media content item,e.g., all users connected via video communication during the segment,control circuitry may set, or change, a communication parameter of thegroup communication to effect a change in how the users participating inthe group watching session are able to communicate. For example, controlcircuitry may change a communication parameter from audio to video forone or more users participating in the group watching session. In someexamples, a communication parameter defines the type of communicationpossible between all of the users participating in the group watchingsession or a subset of users participating in the group watchingsession. For example, multiple communication parameters may be set toenable the first communication mode requiring video communicationbetween User 1 and User 2, audio communication between User 3 and Users1 and 2 (shown in FIG. 1A), and a single communication parameter (e.g.,a general/master communication parameter) may be set to enable thesecond communication mode requiring video communication between all ofthe users (shown in FIG. 1B).

In a similar manner, in response to determining that a certain groupcommunication mode is required for a segment of the media content item,e.g., all users connected via video communication during the segment,control circuitry may set, or change, a buffering parameter of the mediacontent item to effect a change in how the segment of the media contentitem is generated for display on the user device 102. For example,control circuitry may set a buffering parameter to cause the segment tobe generated from buffered data, e.g., that is stored in a buffer onuser device 102, instead of from, e.g., directly from, data streamedfrom a content provider. In some examples, control circuitry may causethe segment to be buffered ahead of time, such that as users progressthrough the media content item to the segment, streaming of data fromthe content provider may be paused, or terminated, and videocommunication between the user can be initiated using the bandwidth thathad previously been used to stream the media content item. In thismanner, the media content item can be continued to be displayed, e.g.,in a desired quality, and the video communication can be enabled betweenusers, which may not have been possible where bandwidth to one or moreusers is insufficient to stream the media content item and allow forvideo communication at the same time.

The actions or descriptions of FIG. 3 may be used with any other exampleof this disclosure, e.g., the example described below in relation toFIGS. 4, 5A, 5B and 6 . In addition, the actions and descriptionsdescribed in relation to FIG. 3 may be done in any suitable alternativeorders or in parallel to further the purposes of this disclosure.

FIG. 4 illustrates a diagrammatic representation of various segments ofa media content item and FIGS. 5A and 5B is a flowchart representinganother process for operating a group watching session, in accordancewith some examples of the disclosure. While the example shown in FIGS.5A and 5B refers to the use of system 100, as shown in FIGS. 1A and 1B,it will be appreciated that the illustrative process shown in FIGS. 5Aand 5B, and any of the other following illustrative processes, may beimplemented on system 100, either alone or in combination with any otherappropriately configured system architecture, such as system 200.

At step 502, control circuitry initiates a group watching session, e.g.,based on a user instruction received by a guidance application. Forexample, a group of users may have arranged to meet virtually for agroup watching session of a media content item. In some examples, thegroup watching session may be started by one of the users in the group.

At step 504, control circuitry initiates group communication for thegroup watching session, e.g., in a similar manner to that described forstep 302 of process 300. In some examples, the group communication maybe started in response to multiple users in the group of users joiningthe group watching session.

At step 506, control circuitry determines if a bandwidth available toeach user permits the display of a media content item and group videocommunication during, e.g., throughout, the group watching session. Thebandwidth available to a user may be determined in a similar manner tothat described for step 304 of process 300. For example, controlcircuitry may compare an average amount of bandwidth available to a userto the amount of bandwidth required to stream the media content itemfrom a content provider, e.g., in a quality indicated by the user, andprovide group video communication, e.g., in a minimum desired quality,between the user and one or more other users participating in the groupwatching session. When the bandwidth is sufficient to display the mediacontent item and provide group video communication, e.g., for theduration of the media content item, process 500 moves to step 536,described below in more detail. When the bandwidth is insufficient todisplay the media content item and provide group video communication,e.g., for the duration of the media content item or at any point duringthe media content item, process 500 moves to step 508. In some examples,the determination that the bandwidth is insufficient to display themedia content item and provide group video communication may be based onwhen one user or multiple users participating in the group watchingsession have insufficient bandwidth, or when all of the usersparticipating in the group watching session have insufficient bandwidth.For the sake of example only, the below process assumes that some of theusers have insufficient bandwidth to display the media content item andprovide group video communication for the duration of the media contentitem, e.g., as a result of high bandwidth requirements for streaming themedia content item and providing video communication in high quality.

At step 508, control circuitry sets a communication parameter to causethe group communication to be provided in audio only, e.g., from thebeginning of the media content item, which maximises the amount ofbandwidth available for buffering data relating to the display of themedia content item, while displaying the media content item in highquality and maintaining group communication.

At step 510, control circuitry determines a group communication moderequired for one or more segments of the media content item, e.g., in asimilar manner to that described for step 306 of process 300.Additionally or alternatively, to that described for step 306, step 510comprises steps 512 to 524.

At step 512, control circuitry determines one or more user preferencesfor each user participating in the group watching session. For example,control circuitry may access, e.g., at step 514, a user profile for eachuser participating in the group watching session to determine one ormore topics of interest of the user. In some examples, a user preferencemay be determined from one or more selected topics in the user’sprofile. For example, Users 1 and 2 may indicate, e.g., by manual input,that they are interested in the genre of fantasy, whereas User 3 mayindicate that they dislike, or have no preference either way for fantasycontent. Additionally or alternatively, a preference of a user may bedetermined by analyzing historic viewing data of the user, one or morepast communications of the user, and/or any other appropriate data thatmay indicate what the user is interested in. In this manner, system 100may derive an understanding of which segments of a media content item auser may be interested in discussing with one or more other participantsin the group watching session, e.g., by virtue of a segment containing afavorite actor, being of a particular genre, etc.

At step 516, control circuitry determines the content of one or moresegments of the media content item that the users are watching in thegroup watching session. For example, control circuitry may accessmetadata relating to the media content item and determine theaudio/visual content of the segment, e.g., as containing a certainactor, and/or being of a particular genre, etc. Additionally oralternatively, the metadata may indicate a start time and an end time ofa segment. For example, the metadata may provide one or more timestampsthat indicate the start time of a segment of the media content itemcontaining fantasy content, and/or a particular actor, etc. In thismanner, system 100 is able to derive an understanding of theaudio/visual content of a scene or frame of the media content item.

At step 518, control circuitry compares the one or more user preferencesfor each user to the content of one or more segments of the mediacontent item.

At step 520, control circuitry determines if one or more of each user’spreferences match the content of one or more segments of the mediacontent item, based on the comparison at step 518. For example, controlcircuitry may determine if a user’s interests at least partially maponto the content of one or more segments of the media content item. FIG.4 illustrates which segments of the media content item each user mighthave interest in, based on a comparison between the user’s preferencesand the media content item metadata. For example, FIG. 4 shows segmentsA-G of a media content item, and whether each user is interested inthose segments. In particular, FIG. 4 shows that User 1 has no or lessinterest in segments A, C, D, E and G, User 2 has less interest insegments A, C, E and G, and User 3 has less interest in segments A, B,C, D, E and G. When control circuitry determines that none of the usersare interested in a segment, process 500 moves to step 522. FIG. 4 alsoshows that User 1 has interest in segments B and F, User 2 has interestin segments B, D and F, and User 3 has interest in segment F. As such,FIG. 4 shows commonality between the users’ interests and provides tosystem 100 an indication of which segments of the media content item theusers may have an interest in discussing over video communication. Sincecommonality between the interests of User 1 and User 2 has been shownfor segment B, and commonality between the interests of User 1, User 2and User 3 has been shown for segment F, process 500 moves to step 524.

At step 522, control circuitry tags a first subset of the segments asrequiring a first group communication mode, e.g., a group audiocommunication mode. For example, based on a lack of interest of any ofthe participants of the group watching session in segments A, C, E andG, control circuitry tags these segments to indicate that videocommunication is not required, or at least not likely to be required,during the viewing of these segments. As such, system 100 can prioritizeusing the available bandwidth to maintain display of these segments inthe desired quality.

At step 524, control circuitry tags a second subset of the segments asrequiring at least a second group communication mode, e.g., a groupvideo communication mode. For example, based on the commonality ofinterest for segment B and F, control circuitry tags these segments asrequiring group video communication. As such, system 100 can manage howthe bandwidth available to each user is used to ensure that display ofthe media content item remains uninterrupted and adequate videocommunication is provided between users. In the example shown in FIG. 4, User 2 is the only user likely to be interested in segment D. As such,there is no commonality between the users’ interests relative to segmentD, and segment D is included in the first subset. However, in one ormore other examples, segment D may be included in the second subset,based solely on the likelihood of User 2 wishing to discuss the contentof segment D with the other users.

At step 510, the configuration of the required communication modes maydepend on the type of content being displayed to the users and theinterest of respective users in that content. For example, FIG. 1A showssegment B of the media content item comprising a scene having a dragon.As mentioned above, FIG. 4 shows that only User 1 and User 2 areinterested in segment B. As such, the required communication mode forsegment B comprises video communication between User 1 and User 2.However, since the preferences of User 3 show that User 3 has little orno interest in dragons, and/or the fantasy genre more broadly, there isno requirement to establish video communication with User 3. FIG. 1Bshows segment F of the media content item comprising a scene having analien. As mentioned above, FIG. 4 shows that all the Users areinterested in segment F. As such, the required communication mode forsegment F comprises video communication between User 1 and User 2, User1 and User 3, and User 2 and User 3, since the preferences for all usersindicate that they are interested in aliens, and/or the sci-fi genremore broadly.

At step 528, control circuitry determines timing information relating tothe first subset of segments and the second subset of segments. Forexample, control circuitry may access metadata relating to the mediacontent item to determine the start time and/or the end time of each ofthe identified segments in the subsets. In response to determining thestart time and/or the end time of each segment in the first subset,process 500 moves to step 530. In response to determining the start timeand/or the end time of each segment in the second subset, process 500moves to step 532.

At step 530, control circuitry causes the display of each segment in thesecond subset on the user device 102 with group audio communication,e.g., as the users progress through the media content item. For example,control circuitry may cause the display of segments A, C, E and Gwithout video communication, in turn. It is beneficial for system 100 tohave prior understanding of which segments of the media content itemrequire group audio communication, e.g., without video, as it allowssystem 100 to prioritize the use of available bandwidth for the displayof the media content item in the desired quality on each user device,and/or for buffering one or more portions of the media content item,e.g., as required by the below steps.

At step 532, control circuitry sets a buffering parameter to buffer thesecond subset of segments of the media content item. In the context ofthe present disclosure, a buffering parameter is understood to mean anyparameter that defines the operation of at least one buffer forbuffering one or more segments of the media content item, e.g., on eachuser device 102. For example, FIG. 4 shows various buffers that aremanaged by system 100, such as a current playback buffer 402 for User 1,a current playback buffer 404 for User 2 and a current playback buffer406 for User 3. In response to determining the group communication modesrequired for each segment in the second subset and the timinginformation relating to at least the start time of each segment, controlcircuitry sets, or changes, one or more buffering parameters. Forexample, for User 1, control circuitry pauses current playback buffer402, and initiates a first advanced playback buffer 408 for segment B(e.g., between time t1 and t2), and a second advanced playback buffer410 for segment F (e.g., between time t5 and t6). For the avoidance ofdoubt, each advance playback buffer for a particular segment may beginbefore viewing progress reaches that segment (and in the example shownin FIG. 4 , the first advanced playback buffer 408 and the secondadvanced playback buffer 410 each represent a content portion beingbuffered, and not necessarily the act and/or the timing of the advancebuffer). It is beneficial to initiate advanced playback buffers 408 and410 before viewing progress reaches the start of segments B and F, sothat control circuitry can switch from using streamed data to using thebuffered data to generate the display of the segment. As a result,bandwidth is made available for use in providing group videocommunication during segments B and F. For User 2, the amount ofavailable bandwidth is sufficient such that current playback buffer 404has already buffered segment B. As such, control circuitry pausescurrent playback buffer 404 (e.g., at a point between time t2 and t3),and initiates a third advanced playback buffer 412 for segment F only(e.g., between time t5 and t6). For User 3, who has a large amount ofavailable bandwidth, there is no need to initiate any advanced playbackbuffers, since the current playback buffer 406 has already bufferedsegment F.

At step 534, control circuitry sets the communication parameter todisplay segment B and F of the media content item with group videocommunication, e.g., ahead of, or just in time for, the display of thesesegments to the users. In this manner, the mode of communication isswitched from an audio mode to a video mode, which is enabled by system100 using the buffered data to display the media content item, insteadof using available bandwidth.

Turning back to step 530, the segments in the first subset, e.g.,segments A, C, D, E and G, are displayed in turn on the respective userdevices 102 accompanied by group audio communication.

At step 536, the segments in the second subset, e.g., segments B and F,are displayed in turn on the respective user devices 102 accompanied bygroup video communication. In the example shown in FIG. 1A, the usersare currently watching segment B of the media content item showing ascene with a dragon, and user icons 110 indicate the type of groupcommunication established between the users. For example, user icons110a indicate that video communication is established between User 1 andUser 2 (shown by solid outlines on the icons), and user icons 110bindicate that audio communication is established between User 1 and User3, and User 2 and User 3 (shown by dashed outlines on the icons). Asdiscussed above, this mode of communication requires only Users 1 and 2to have video communication, since there is commonality between theinterests of User 1 and 2, and no commonality of interest between User 3and Users 1 and 2. In the example shown in FIG. 1B, the users arecurrently watching segment F of the media content item showing a scenewith an alien, and user icons 110 indicate the type of groupcommunication established between the users. For example, user icons110a indicate that video communication is established between all theusers (shown by solid outlines on the icons). As discussed above, thismode of communication requires video communication between all of theusers owing to their common interest in the content of segment F.

The actions or descriptions of FIGS. 5A and 5B may be used with anyother example of this disclosure. In addition, the actions anddescriptions described in relation to FIGS. 5A and 5B may be done in anysuitable alternative orders or in parallel to further the purposes ofthis disclosure.

FIG. 6 is a flowchart representing another process 600 for operating agroup watching session, in accordance with some examples of thedisclosure. It will be appreciated that the illustrative process shownin FIG. 6 , may be implemented on system 100, either alone or incombination with any other appropriately configured system architecture,such as system 200.

At step 602, control circuitry determines that a user participating inthe group watching session is likely to pause playback of the mediacontent item at a future point in the media content item. For example,control circuitry may perform one or more steps similar to step 510(and/or sub-steps 512 to 524) to determine that a user might beinterested in, or have interest in discussing, one or more futuresegments of the media content item. For example, a preference of a usermay be determined by analyzing historic viewing data of the user, one ormore past communications of the user, and/or any other appropriate datathat may indicate what the user is interested in. In this manner, system100 may derive an understanding of which segment(s) of a media contentitem a user may be interested in discussing with one or more otherparticipants in the group watching session, e.g., by virtue of a segmentcontaining a favorite actor, being of a particular genre, etc. Such auser preference may be compared to the content of one or more future(e.g., upcoming and unwatched by the group) segments of the mediacontent item, to determine a likelihood that at least one of the usersin the group will want to pause the group watching session and discussthe media content item with one or more other users in the groupwatching session. For example, control circuitry may determine that User2 has interest, e.g., a high level of interest, in segment D of themedia content item, and, as such, there is high chance that User 2 willpause the group watching session to discuss the content of segment Dwith the other users in the group watching session, e.g., despite User 1and User 3 showing less or no interest in the content of segment D.

At step 604, in response to determining that User 2 is likely to pausethe media content item after segment D, control circuitry stops (or atleast pauses) active playback buffer 404 for the media content item whenthe data stored in the active playback buffer 406 reaches the end of thesegment D of the media content item (as indicated by arrow 414 extendingfrom active buffer 404 to the end of segment D). In this manner,bandwidth of User 2 is not used to buffer further segments of the mediacontent item in active buffer 404, e.g., at least until one or moreother future conditions are met, as discussed below.

At step 606, control circuitry sets a communication parameter of thegroup communication to provide group video communication in response todetermining that the active playback buffer has reached the end of thefuture segment in the media content item. For example, in response toactive buffer 404 of User 2 successfully buffering the content ofsegment D, control circuitry may cause active buffer 404 (and optionallyadvanced playback buffer 412) to pause and enable/establish group videocommunication between the users in the group watching session. In thismanner, any bandwidth that was being used for active buffer 404 may nowbe used for video communication between the users. For example, whenprogress through the media content item reaches the end of segment D,and User 2 wishes to discuss the content of segment D with User 1 and/orUser 3, video communication may be automatically provided/established,e.g., in a desired quality, ahead of the time when User 2 wishes todiscuss the content of segment D. In some examples, despite User 2showing interest in segment D, User 1 and/or User 3 may not wish todiscuss the content of segment D with User 2. To account for this,control circuitry may be configured to provide a user-selectable optionto enable/disable communication between the users, e.g., where there isa disparity between the user’s interests. In some examples, controlcircuitry may be configured to determine when discussion about aparticular topic is coming to an end. For example, control circuitry maymonitor video communication, e.g., video communication discussingsegment D, to determine that the users have no further desire tocontinue with video communication. For example, control circuitry maydetermine that an audio component of the video communication containsone or more keywords, e.g., “bye-bye”, that indicate that the users havefinished their discussion. At the end of the video communication,control circuitry may terminate a video connection between the users andreactivate active buffer 404 and/or advanced playback buffer 412, sincebandwidth is no longer required (at least for a moment) for videocommunication.

The actions or descriptions of FIG. 6 may be used with any other exampleof this disclosure, e.g., such as FIGS. 5A and 5B. In addition, theactions and descriptions described in relation to FIG. 6 may be done inany suitable alternative orders or in parallel to further the purposesof this disclosure.

The processes described above are intended to be illustrative and notlimiting. One skilled in the art would appreciate that the steps of theprocesses discussed herein may be omitted, modified, combined, and/orrearranged, and any additional steps may be performed without departingfrom the scope of the invention. More generally, the above disclosure ismeant to be exemplary and not limiting. Only the claims that follow aremeant to set bounds as to what the present invention includes.Furthermore, it should be noted that the features and limitationsdescribed in any one example may be applied to any other example herein,and flowcharts or examples relating to one example may be combined withany other example in a suitable manner, done in different orders, ordone in parallel. In addition, the systems and methods described hereinmay be performed in real time. It should also be noted that the systemsand/or methods described above may be applied to, or used in accordancewith, other systems and/or methods.

What is claimed is:
 1. A method for operating a group watching session,the method comprising: initiating group communication for a groupwatching session displaying a media content item; determining abandwidth available to a plurality of user devices participating in thegroup watching session; determining a group communication mode for asegment of the media content item; and in response to determining thebandwidth available and the group communication mode, setting acommunication parameter of the group communication . 2-40. (canceled)41. The method of claim 1, the method comprising: further in response todetermining the bandwidth available and the group communication mode:setting a buffering parameter for the media content item to buffer thesegment of the media content item to free up an amount of networkbandwidth; displaying the segment of the media content item using thebuffered segment; and setting the communication parameter to provide thegroup communication mode using at least the amount of network bandwidth.42. The method of claim 1, wherein determining the group communicationmode for one or more segments of the media content item comprises:determining one or more user preferences for a first user of theplurality of users participating in the group watching session;accessing media content item metadata relating to the media contentitem; and determining the group communication mode based on comparingthe one or more user preferences of the first user to the media contentitem metadata.
 43. The method of claim 42, wherein determining the groupcommunication mode for one or more segments of the media content itemfurther comprises: determining one or more user preferences for a seconduser of the plurality of users participating in the group watchingsession; and determining the group communication mode based on comparingthe one or more user preferences of each of the first user and thesecond user to the media content item metadata.
 44. The method of claim1, wherein determining the group communication mode for one or moresegments of the media content item further comprises: tagging a firstsubset of segments of the media content item as utilizing a group audiocommunication mode; and tagging a second subset of segments of the mediacontent item as utilizing a group video communication mode.
 45. Themethod of claim 1, wherein the method comprises: monitoring a bandwidthavailable to each user of the plurality of users participating in thegroup watching session; and setting the communication parameter when thebandwidth available to at least one of the users participating in thegroup watching session falls below a predetermined bandwidth threshold.46. The method of claim 1, wherein setting the communication parametercomprises changing at least one of: an audio parameter of the groupcommunication for at least one user participating in the group watchingsession; a video parameter of the group communication for at least oneparticipant of the group watching session; how many of the participantsin the group watching session are joined to the group communication; ora permitted type of communication between at least two participants ofthe group watching session.
 47. The method of claim 1, wherein thesetting the communication parameter is timed relative to the display ofthe segment of the media content item for which the communication modeis used.
 48. The method of claim 41, wherein setting the bufferingparameter comprises at least one of: pausing a current playback bufferin response to determining the group communication mode for the segmentof the media content item; initiating an advanced playback buffer inresponse to determining the group communication mode for the segment ofthe media content item; maintaining an active playback buffer; oradjusting an amount of data in a playback buffer for at least oneparticipant of the group watching session.
 49. The method of claim 1,the method comprising: determining that a user participating in thegroup watching session is likely to pause playback of the media contentitem during a future segment in the media content item; stopping anactive playback buffer for the media content item when the data storedin the active playback buffer reaches the end of the future segment inthe media content item; and in response to determining that the activeplayback buffer has reached the end of the future segment in the mediacontent item, setting the communication parameter of the groupcommunication to provide group video communication.
 50. A system foroperating a group watching session, the system comprising controlcircuitry configured to: initiate group communication for a groupwatching session displaying a media content item; determine a bandwidthavailable to a plurality of user devices participating in the groupwatching session; determine a group communication mode for a segment ofthe media content item; and in response to determining the bandwidthavailable and the group communication mode, set a communicationparameter of the group communication.
 51. The system of claim 50,wherein the control circuitry is further configured to: further inresponse to determining the bandwidth available and the groupcommunication mode: set a buffering parameter for the media content itemto buffer the segment of the media content item to free up an amount ofnetwork bandwidth; display the segment of the media content item usingthe buffered segment; and set the communication parameter to provide thegroup communication mode using at least the amount of network bandwidth.52. The system of claim 50, wherein, when determining the groupcommunication mode for one or more segments of the media content item,the control circuitry is further configured to: determine one or moreuser preferences for a first user of the plurality of usersparticipating in the group watching session; access media content itemmetadata relating to the media content item; and determine the groupcommunication mode based on comparing the one or more user preferencesof the first user to the media content item metadata.
 53. The system ofclaim 52, wherein, when determining the group communication mode for oneor more segments of the media content item, the control circuitry isfurther configured to: determine one or more user preferences for asecond user of the plurality of users participating in the groupwatching session; and determine the group communication mode based oncomparing the one or more user preferences of each of the first user andthe second user to the media content item metadata.
 54. The system ofclaim 50, wherein, when determining the group communication mode for oneor more segments of the media content item, the control circuitry isfurther configured to: tag a first subset of segments of the mediacontent item as utilizing a group audio communication mode; and tag asecond subset of segments of the media content item as utilizing a groupvideo communication mode.
 55. The system of claim 50, wherein thecontrol circuitry is further configured to: monitor a bandwidthavailable to each user of the plurality of users participating in thegroup watching session; and set the communication parameter when thebandwidth available to at least one of the users participating in thegroup watching session falls below a predetermined bandwidth threshold.56. The system of claim 50, wherein, when setting the communicationparameter, control circuitry is further configured to change at leastone of: an audio parameter of the group communication for at least oneuser participating in the group watching session; a video parameter ofthe group communication for at least one participant of the groupwatching session; how many of the participants in the group watchingsession are joined to the group communication; or a permitted type ofcommunication between at least two participants of the group watchingsession.
 57. The system of claim 50, wherein control circuitry isconfigured to time the setting of the communication parameter isrelative to the display of the segment of the media content item forwhich the communication mode is utilized.
 58. The system of claim 51,wherein, when setting the buffering parameter, control circuitry isfurther configured to at least one of: pause a current playback bufferin response to determining the group communication mode for the segmentof the media content item; initiate an advanced playback buffer inresponse to determining the group communication mode for the segment ofthe media content item; maintain an active playback buffer; or adjust anamount of data in a playback buffer for at least one participant of thegroup watching session.
 59. The system of claim 50, wherein controlcircuitry is configured to: determine that a user participating in thegroup watching session is likely to pause playback of the media contentitem during a future segment in the media content item; stop an activeplayback buffer for the media content item when the data stored in theactive playback buffer reaches the end of the future segment in themedia content item; and in response to determining that the activeplayback buffer has reached the end of the future segment in the mediacontent item, set the communication parameter of the group communicationto provide group video communication.